home *** CD-ROM | disk | FTP | other *** search
- /* m2make.ged $VER: 0.2 m2make.ged © 1994 Fin Schuppenhauer (13.06.94) */
-
- OPTIONS RESULTS /* enable return codes */
-
- if (LEFT(ADDRESS(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
- address 'GOLDED.1'
-
- 'LOCK CURRENT' /* lock GUI, gain access */
- OPTIONS FAILAT 6 /* ignore warnings */
- SIGNAL ON SYNTAX /* ensure clean exit */
-
-
- /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
-
-
- 'QUERY CAT'
- german = (result = "deutsch")
-
- /* Dateinamen ermitteln: */
- 'QUERY FILE VAR FILENAME'
- if (right(filename, 4) ~= '.def') & (right(filename, 4) ~= '.mod') then do
- if german then
- 'REQUEST BODY="Dies ist kein Modula-2-Quelltext!"'
- else
- 'REQUEST BODY="This is no modula-2 source!"'
- 'UNLOCK'
- EXIT
- end
-
- /* Gibt es überhaupt etwas zu übersetzen ? */
- 'QUERY ANYTEXT'
- if result = 'FALSE' then do
- if german then
- 'REQUEST BODY="Ähmm, kein Quelltext hier.|Trotzdem «Make» aufrufen ?" BUTTON=Ja|Nein'
- else
- 'REQUEST BODY="There''s no source here.|Still start «make» ?" BUTTON=Yes|No'
- if result= '0' then do
- 'UNLOCK'
- EXIT
- end
- end
-
- /* Text verändert? Wenn ja, vorher sichern. */
- 'QUERY MODIFY'
- if result = 'TRUE' then
- 'SAVE ALL'
-
-
- filename = left(filename, length(filename)-4)
-
- /* ------------ Aufruf-Argument überprüfen: ----------------- */
- PARSE ARG DPD
- if dpd = "create" then do
- /* Abhängigkeiten erstellen: */
- if german then
- 'REQUEST STATUS="Erstelle Abhängigkeitendatei 'filename'.dpd"'
- else
- 'REQUEST STATUS="Creating dependencies file 'filename'.dpd"'
- ADDRESS COMMAND 'M2:m2make -d 'filename
- 'REQUEST STATUS=""'
- 'UNLOCK'
- EXIT
- end
-
- /* --- Andernfalls soll übersetzt und gelinkt werden: -------- */
-
-
- /* Optionen für m2make ermitteln: */
- makeopt = "-"
- 'QUERY USER15' /* x: in allen Verzeichnissen suchen ? */
- if result = 'FALSE' then
- makeopt = makeopt || "x"
-
- if makeopt = "-" then
- makeopt = ""
-
-
- /* Compiler-Optionen ermitteln: */
- compopt = "-"
- 'QUERY USER1' /* StackChk */
- if result='FALSE' then
- compopt = compopt || "s"
- 'QUERY USER2' /* RangeChk */
- if result='FALSE' then
- compopt = compopt || "r"
- 'QUERY USER3' /* OverflowChk */
- if result='FALSE' then
- compopt = compopt || "v"
- 'QUERY USER4' /* NilChk */
- if result='FALSE' then
- compopt = compopt || "n"
- 'QUERY USER5' /* EntryClear */
- if result='FALSE' then
- compopt = compopt || "e"
- 'QUERY USER6' /* CaseChk */
- if result='FALSE' then
- compopt = compopt || "c"
- 'QUERY USER7' /* ReturnChk */
- if result='FALSE' then
- compopt = compopt || "f"
- 'QUERY USER8' /* LongAlign */
- if result='FALSE' then
- compopt = compopt || "l"
- 'QUERY USER9' /* Volatile */
- if result='FALSE' then
- compopt = compopt || "h"
- 'QUERY USER10' /* LargeVars */
- if result='FALSE' then
- compopt = compopt || "y"
- 'QUERY USER11' /* StackParms */
- if result='FALSE' then
- compopt = compopt || "z"
- /* Optimieren und/oder Debug-Informationen ? */
- 'QUERY USER12 VAR OPT' /* Optimieren ? */
- 'QUERY USER13 VAR DBG' /* Debug-Info ? */
- if (opt = 'TRUE') & (dbg = 'TRUE') then
- optdbg = "+@"
- if (opt = 'TRUE') & (dbg = 'FALSE') then
- optdbg = "-d"
- if (opt = 'FALSE') & (dbg = 'TRUE') then
- optdbg = "+d"
- if (opt = 'FALSE') & (dbg = 'FALSE') then
- optdbg = "-@"
-
-
- /* Linker-Optionen ermitteln: */
- /* Linke-Optionen ermitteln (sind (fast) alle per Default TRUE) */
- linkopt = "-"
- 'QUERY USER20' /* SmallCode */
- if result='FALSE' then
- linkopt = linkopt || "c"
- 'QUERY USER19' /* SmallData */
- if result='FALSE' then
- linkopt = linkopt || "d"
- 'QUERY USER16' /* DebugInfo */
- if result='FALSE' then
- linkopt = linkopt || "x"
-
- if linkopt = "-" then
- linkopt = ""
- /* Minimalarts? Resident? */
- 'QUERY USER18' /* MinimalArts */
- if result='TRUE' then
- linkopt = linkopt || "+m"
- 'QUERY USER17' /* Resident */
- if result='TRUE' then
- linkopt = linkopt || "+r"
-
-
- /* Piktogramme erzeugen? */
- 'QUERY USER14'
- if result = 'TRUE' then
- icons = "+i"
- else
- icons = "-i"
-
-
- if german then
- 'REQUEST STATUS="Starte «Make» mit 'filename' ..."'
- else
- 'REQUEST STATUS="Starting «make» with 'filename' ..."'
-
-
- OPTIONS FAILAT 15
- ADDRESS COMMAND 'M2:m2make +d'makeopt || icons '-c'compopt || optdbg' -o'linkopt' 'filename
-
- 'REQUEST STATUS=""'
- if rc = 0 then
- if german then
- 'REQUEST BODY="Makelauf war erfolgreich." BUTTON="Sehr schön"'
- else
- 'REQUEST BODY="Successfull make." BUTTON="Nice"'
- else
- if german then
- 'REQUEST BODY="Irrgs! Da ging wohl was schief..." BUTTON="Mist!"'
- else
- 'REQUEST BODY="Urrgh! Something went wrong..." BUTOON="Damned!"'
-
-
- /* ---------------------------- END OF YOUR CODE --------------------- */
-
- 'UNLOCK' /* VERY important: unlock GUI */
- EXIT
-
- SYNTAX:
-
- SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
- 'UNLOCK'
- EXIT
-
-